10 PRINTCHR$(14);CHR$(8):LX%=4:LY%=195 20 POKE50913,1:POKE50959,1:POKE50918,0 30 POKE50964,0:POKE50923,0:POKE50969,0 40 @2:X%=4:Y%=195 50 IF X%<0 THEN X%=319 60 IF X%>319 THEN X%=0 70 IF Y%<0 THEN Y%=199 80 IF Y%>199 THEN Y%=0 90 C1%=5:C2%=6:@4,X%,Y%:IF(PEEK(251)<>0)THENC1%=6:C2%=5 100 @C1%,X%,Y% 110 XT%=PEEK(56320)AND31 120 JX%=SGN(XT%AND4)-SGN(XT%AND8) 130 JY%=SGN(XT%AND2)-SGN(XT%AND1) 140 JF%=1-SGN(XT%AND16) 150 IF(JX%<>0)OR(JY%<>0)GOTO200 160 GETC$:C%=PEEK(653)AND4 170 IF(C$="")AND(C%=0)GOTO110 180 IF(C%=0)GOTO220 190 GOTO380 200 IF(JF%<>0)THENC2%=C1% 210 @C2%,X%,Y%:X%=X%+JX%:Y%=Y%+JY%:GOTO50 220 CX%=X%/8:CY%=Y%/8:@10,CX%,CY%,C$ 230 IF(PEEK(251)=0)GOTO260 240 IF(CX%>38)THENX%=-4:IF(CY%>0)THENY%=Y%-8 250 X%=X%+8:GOTO50 260 C%=ASC(C$):IF(C%<>13)GOTO290 270 @C2%,X%,Y%:X%=4:IF(Y%>7)THENY%=Y%-8 280 GOTO50 290 IF(C%=29)THENJX%=8:GOTO210 300 IF(C%=157)THENJX%=-8:GOTO210 310 IF(C%=145)THENJY%=8:GOTO210 320 IF(C%=17)THENJY%=-8:GOTO210 330 IF(C%=19)THEN@C2%,X%,Y%:X%=4:Y%=195:GOTO50 340 IF(C%=147)THEN@3:X%=4:Y%=195:GOTO50 350 IF(C%<>20)GOTO110 360 @C2%,X%,Y%:IF(X%>7)THENX%=X%-8:CX%=X%/8:CY%=Y%/8:@10,CX%,CY%," " 370 GOTO50 380 PRINT"[147]"; 390 PRINT" [207]PTIONS [146]"; 400 PRINT" G -> [199]ET A [198]ILE" 410 PRINT" S -> [211]AVE A [198]ILE" 420 PRINT" P -> [208]RINT [211]CREEN" 430 PRINT" D -> [196]RAW A [204]INE" 440 PRINT" F -> [198]ILL A [210]EGULAR [208]OLYGON" 450 PRINT" U -> [213]PPERCASE" 460 PRINT" L -> [204]OWERCASE" 470 PRINT" N -> [206]ORMAL [195]HARACTERS" 480 PRINT" R -> [210]EVERSE [195]HARACTERS" 490 PRINT" C -> [195]LEAR [211]CREEN" 500 PRINT" Q -> [209]UIT" 510 PRINT"[197]NTER [207]PTION:[146] ";:@1 520 GETC$:IF(C$="")GOTO520 530 PRINTC$+"" 540 IF(C$<>"G")GOTO580 550 C$="":INPUT"[199]ET [198]ILENAME";C$ 560 IF(C$="")THENPRINT"[147][199]ET A [198]ILE [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 570 PRINT"[199]ETTING [198]ILE...":@13,C$:@2:GOTO50 580 IF(C$<>"S")GOTO620 590 C$="":INPUT"[211]AVE [198]ILENAME";C$ 600 IF(C$="")THENPRINT"[147][211]AVE A [198]ILE [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 610 PRINT"[211]AVING [198]ILE...":@C2%,X%,Y%:@12,C$:@C1%,X%,Y%:@2:GOTO110 620 IF(C$<>"P")GOTO670 630 PRINT"[211]URE [208]RINT (Y/N)? " 640 GETC$:IF(C$="")GOTO640 650 IF(C$<>"Y")THENPRINT"[147][208]RINT [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 660 PRINT"[208]RINTING...":@C2%,X%,Y%:@14:@C1%,X%,Y%:@2:GOTO110 670 IF(C$<>"D")GOTO800 680 PRINT" [196]RAW [207]PTIONS [146]" 690 PRINT" S -> [211]ET [211]TARTING [208]OINT" 700 PRINT" D -> [196]RAW THE [204]INE" 710 PRINT"[197]NTER [196]RAW [207]PTION:[146] "; 720 GETC$:IF(C$="")GOTO720 730 PRINTC$ 740 IF(C$<>"S")GOTO760 750 LX%=X%:LY%=Y%:C2%=C1%:@2:GOTO110 760 IF(C$<>"D")THENPRINT"[147][204]INE [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 770 S%=256:INPUT"[204]INE [211]TYLE (0-255)";S% 780 IF((S%<0)OR(S%>255))THENPRINT"[147][196]RAW [204]INE [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 790 @2:@4,LX%,LY%:@7,X%,Y%,S%:LX%=X%:LY%=Y%:GOTO50 800 IF(C$<>"F")GOTO880 810 PRINT"[201]S [205]ARKER IN [208]OLYGON (Y/N)? "; 820 GETC$:IF(C$="")GOTO820 830 PRINTC$ 840 IF(C$<>"Y")THENPRINT"[147][198]ILL [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 850 S%=128:INPUT"[198]ILL [211]TYLE (0-127)";S% 860 IF((S%<0)OR(S%>127))THENPRINT"[147][198]ILL [193]BORTED -- [197]NTER [195]OMMAND":GOTO390 870 @2:@6,X%,Y%:@9,X%,Y%,S%:GOTO50 880 IF(C$="U")THENC$=CHR$(142):@10,0,0,C$:@2:GOTO110 890 IF(C$="L")THENC$=CHR$(14):@10,0,0,C$:@2:GOTO110 900 IF(C$="N")THENC$=CHR$(146):@10,0,0,C$:@2:GOTO110 910 IF(C$="R")THENC$=CHR$(18):@10,0,0,C$:@2:GOTO110 920 IF(C$="C")THEN@3:@2:GOTO110 930 PRINT" [209]UIT [207]PTIONS [146]" 940 PRINT" J -> [210]ETURN TO [202][207][217]" 950 PRINT" B -> [199]O TO [194][193][211][201][195]" 960 PRINT"[197]NTER [209]UIT [207]PTION:[146]" 970 GETC$:IF(C$="")GOTO970 980 IF(C$="J")THEN@2:GOTO110 990 IF(C$="B")THEN@C2%,X%,Y%:PRINT"[147] ":@1:PRINTCHR$(142);CHR$(9):END 1000 PRINT"[147][209]UIT [193]BORTED -- [197]NTER [195]OMMAND":GOTO390